Next: 2.2 OpenGL as a
Up: 2 Justification
Previous: 2 Justification
A hardware-accelerated render service is appropriate for a wide range of
rendering applications including:
- Hybrid 3D viewers.
- Combining the interactivity of
inexpensive low-end 3D workstations with a render server permits hybrid
applications that trade-off interactivity and rendering quality as appropriate to
the application. When the user of such a hybrid application interacts
with a 3D model, a simplified representation can be rendered directly by
the low-end workstation to achieve fast, interactive display rates (by
disabling texture mapping, using coarse tessellation, rendering as
wireframe, etc.). However, the render service can provide detailed,
textured, antialiased renderings at sub-second latency whenever the
model is displayed statically.
For example, a computer aided design program might show the design in
wireframe when the user manipulates the design, but when the user stops
the manipulation, the design is quickly re-rendered with more detail.
Other similar applications include VRML browsing and volume rendering.
- 3D printing.
- Printing 3D graphics is complicated
because the programming interfaces targeted for the display of
interactive 3D graphics rarely have good support for printing.
Demands for performance, fidelity to the on-screen appearance, and the higher
resolutions often demanded for printing all make printing 3D scenes
difficult. A render service can address these issues by off-loading
rendering to fast 3D hardware with large rectangular
frame buffer regions.
An application can redirect its on-screen rendering commands to a
render service, then read back the rendered image to send to a
printer. A print server could automatically convert Inventor or VRML
metafiles submitted for printing to a 2D image using a render service
and then pass the resulting image to the printer.
- Movie sequence rendering.
- A succession of 3D scenes forming
a computer animated movie could be rendered with reasonably high
quality by a render service. For example, animators at a computer
animation firm could submit movie rendering jobs to the render service,
and later retrieve the rendered movie sequences. This lets animators
review their work rendered quickly at good quality levels before
submission for slower, expensive, higher quality final rendering.
- Fast data and image analysis.
- Many applications such as
satellite image analysis, medical imaging, and seismic analysis
use image processing and 3D
rendering techniques like volume rendering [3], 3D geometry
recognition from 2D images, and shadow map generation [9] that can
benefit from fast 3D hardware supporting image processing and
high-quality texture mapping capabilities but do not require or expect
immediacy, making these applications suitable for scheduling through a
render service.
While they do not demand the immediacy that justifies an expensive 3D
graphics hardware accelerator, all these applications can benefit from
access to such hardware. A render service that amortizes the hardware
cost across multiple application instances while delivering improved
performance can make the use of expensive hardware viable for these
applications.
What these various applications share is a common demand: accelerated
rendering access to rectangular frame buffer regions. This should be
the fundamental service provided by a render service.
Next: 2.2 OpenGL as a
Up: 2 Justification
Previous: 2 Justification
Mark Kilgard
Fri Jan 5 18:13:30 PST 1996